/*
 * Created on Jan 16, 2004
 *
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
package com.unash.z3950.pdu;

/**
 * @author Ashwini Gokhale
 *
 * To change the template for this generated type comment go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
import com.unash.asn.AsnBoolean;
import com.unash.asn.AsnInteger;
import com.unash.asn.AsnOctetString;

public class SearchResponse implements Response {
	private AsnOctetString referenceId;	
	private AsnInteger resultCount;
	private AsnInteger numberOfRecordsReturned;
	private AsnInteger nextResultSetPosition;
	private AsnBoolean searchStatus;
	private AsnInteger resultSetStatus;
	private AsnInteger presentStatus;
	private Records records;
	//AdditianalSearchInfo
	 //OtherInformation otherInfo
	
	
	/* (non-Javadoc)
	 * @see com.unash.z3950.pdu.Response#accept(com.unash.z3950.pdu.Z3950Encoder)
	 */
	public byte[] accept(Z3950Encoder encoder) throws Exception {
		byte[] result = encoder.encode(this);
		return result;
	}

	/**
	 * @return
	 */
	public AsnInteger getNextResultSetPosition() {
		return nextResultSetPosition;
	}

	/**
	 * @return
	 */
	public AsnInteger getNumberOfRecordsReturned() {
		return numberOfRecordsReturned;
	}

	/**
	 * @return
	 */
	public AsnInteger getPresentStatus() {
		return presentStatus;
	}

	/**
	 * @return
	 */
	public Records getRecords() {
		return records;
	}

	/**
	 * @return
	 */
	public AsnOctetString getReferenceId() {
		return referenceId;
	}

	/**
	 * @return
	 */
	public AsnInteger getResultCount() {
		return resultCount;
	}

	/**
	 * @return
	 */
	public AsnInteger getResultSetStatus() {
		return resultSetStatus;
	}

	/**
	 * @return
	 */
	public AsnBoolean getSearchStatus() {
		return searchStatus;
	}

	/**
	 * @param integer
	 */
	void setNextResultSetPosition(AsnInteger integer) {
		nextResultSetPosition = integer;
	}

	/**
	 * @param integer
	 */
	void setNumberOfRecordsReturned(AsnInteger integer) {
		numberOfRecordsReturned = integer;
	}

	/**
	 * @param integer
	 */
	void setPresentStatus(AsnInteger integer) {
		presentStatus = integer;
	}

	/**
	 * @param records
	 */
	void setRecords(Records records) {
		this.records = records;
	}

	/**
	 * @param string
	 */
	void setReferenceId(AsnOctetString string) {
		referenceId = string;
	}

	/**
	 * @param integer
	 */
	void setResultCount(AsnInteger integer) {
		resultCount = integer;
	}

	/**
	 * @param integer
	 */
	void setResultSetStatus(AsnInteger integer) {
		resultSetStatus = integer;
	}

	/**
	 * @param boolean1
	 */
	void setSearchStatus(AsnBoolean boolean1) {
		searchStatus = boolean1;
	}

}
